﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020011AD RID: 4525
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class Shop : IMessage<Shop>, IMessage, IEquatable<Shop>, IDeepCloneable<Shop>, IBufferMessage
	{
		// Token: 0x17003942 RID: 14658
		// (get) Token: 0x0600CA98 RID: 51864 RVA: 0x00221EA3 File Offset: 0x002200A3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<Shop> Parser
		{
			get
			{
				return Shop._parser;
			}
		}

		// Token: 0x17003943 RID: 14659
		// (get) Token: 0x0600CA99 RID: 51865 RVA: 0x00221EAA File Offset: 0x002200AA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return ShopReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003944 RID: 14660
		// (get) Token: 0x0600CA9A RID: 51866 RVA: 0x00221EBC File Offset: 0x002200BC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return Shop.Descriptor;
			}
		}

		// Token: 0x0600CA9B RID: 51867 RVA: 0x00221EC3 File Offset: 0x002200C3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Shop()
		{
		}

		// Token: 0x0600CA9C RID: 51868 RVA: 0x00221ED8 File Offset: 0x002200D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Shop(Shop other) : this()
		{
			this.goodsList_ = other.goodsList_.Clone();
			this.beginTime_ = other.beginTime_;
			this.shopId_ = other.shopId_;
			this.endTime_ = other.endTime_;
			this.cityLevel_ = other.cityLevel_;
			this.cityExp_ = other.cityExp_;
			this.cityTakenLevelReward_ = other.cityTakenLevelReward_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600CA9D RID: 51869 RVA: 0x00221F55 File Offset: 0x00220155
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Shop Clone()
		{
			return new Shop(this);
		}

		// Token: 0x17003945 RID: 14661
		// (get) Token: 0x0600CA9E RID: 51870 RVA: 0x00221F5D File Offset: 0x0022015D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<Goods> GoodsList
		{
			get
			{
				return this.goodsList_;
			}
		}

		// Token: 0x17003946 RID: 14662
		// (get) Token: 0x0600CA9F RID: 51871 RVA: 0x00221F65 File Offset: 0x00220165
		// (set) Token: 0x0600CAA0 RID: 51872 RVA: 0x00221F6D File Offset: 0x0022016D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public long BeginTime
		{
			get
			{
				return this.beginTime_;
			}
			set
			{
				this.beginTime_ = value;
			}
		}

		// Token: 0x17003947 RID: 14663
		// (get) Token: 0x0600CAA1 RID: 51873 RVA: 0x00221F76 File Offset: 0x00220176
		// (set) Token: 0x0600CAA2 RID: 51874 RVA: 0x00221F7E File Offset: 0x0022017E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ShopId
		{
			get
			{
				return this.shopId_;
			}
			set
			{
				this.shopId_ = value;
			}
		}

		// Token: 0x17003948 RID: 14664
		// (get) Token: 0x0600CAA3 RID: 51875 RVA: 0x00221F87 File Offset: 0x00220187
		// (set) Token: 0x0600CAA4 RID: 51876 RVA: 0x00221F8F File Offset: 0x0022018F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public long EndTime
		{
			get
			{
				return this.endTime_;
			}
			set
			{
				this.endTime_ = value;
			}
		}

		// Token: 0x17003949 RID: 14665
		// (get) Token: 0x0600CAA5 RID: 51877 RVA: 0x00221F98 File Offset: 0x00220198
		// (set) Token: 0x0600CAA6 RID: 51878 RVA: 0x00221FA0 File Offset: 0x002201A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CityLevel
		{
			get
			{
				return this.cityLevel_;
			}
			set
			{
				this.cityLevel_ = value;
			}
		}

		// Token: 0x1700394A RID: 14666
		// (get) Token: 0x0600CAA7 RID: 51879 RVA: 0x00221FA9 File Offset: 0x002201A9
		// (set) Token: 0x0600CAA8 RID: 51880 RVA: 0x00221FB1 File Offset: 0x002201B1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CityExp
		{
			get
			{
				return this.cityExp_;
			}
			set
			{
				this.cityExp_ = value;
			}
		}

		// Token: 0x1700394B RID: 14667
		// (get) Token: 0x0600CAA9 RID: 51881 RVA: 0x00221FBA File Offset: 0x002201BA
		// (set) Token: 0x0600CAAA RID: 51882 RVA: 0x00221FC2 File Offset: 0x002201C2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ulong CityTakenLevelReward
		{
			get
			{
				return this.cityTakenLevelReward_;
			}
			set
			{
				this.cityTakenLevelReward_ = value;
			}
		}

		// Token: 0x0600CAAB RID: 51883 RVA: 0x00221FCB File Offset: 0x002201CB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as Shop);
		}

		// Token: 0x0600CAAC RID: 51884 RVA: 0x00221FDC File Offset: 0x002201DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(Shop other)
		{
			return other != null && (other == this || (this.goodsList_.Equals(other.goodsList_) && this.BeginTime == other.BeginTime && this.ShopId == other.ShopId && this.EndTime == other.EndTime && this.CityLevel == other.CityLevel && this.CityExp == other.CityExp && this.CityTakenLevelReward == other.CityTakenLevelReward && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600CAAD RID: 51885 RVA: 0x0022207C File Offset: 0x0022027C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.goodsList_.GetHashCode();
			if (this.BeginTime != 0L)
			{
				num ^= this.BeginTime.GetHashCode();
			}
			if (this.ShopId != 0U)
			{
				num ^= this.ShopId.GetHashCode();
			}
			if (this.EndTime != 0L)
			{
				num ^= this.EndTime.GetHashCode();
			}
			if (this.CityLevel != 0U)
			{
				num ^= this.CityLevel.GetHashCode();
			}
			if (this.CityExp != 0U)
			{
				num ^= this.CityExp.GetHashCode();
			}
			if (this.CityTakenLevelReward != 0UL)
			{
				num ^= this.CityTakenLevelReward.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600CAAE RID: 51886 RVA: 0x00222146 File Offset: 0x00220346
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600CAAF RID: 51887 RVA: 0x0022214E File Offset: 0x0022034E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600CAB0 RID: 51888 RVA: 0x00222158 File Offset: 0x00220358
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.BeginTime != 0L)
			{
				output.WriteRawTag(8);
				output.WriteInt64(this.BeginTime);
			}
			if (this.CityLevel != 0U)
			{
				output.WriteRawTag(24);
				output.WriteUInt32(this.CityLevel);
			}
			if (this.CityExp != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.CityExp);
			}
			if (this.CityTakenLevelReward != 0UL)
			{
				output.WriteRawTag(56);
				output.WriteUInt64(this.CityTakenLevelReward);
			}
			if (this.ShopId != 0U)
			{
				output.WriteRawTag(80);
				output.WriteUInt32(this.ShopId);
			}
			this.goodsList_.WriteTo(ref output, Shop._repeated_goodsList_codec);
			if (this.EndTime != 0L)
			{
				output.WriteRawTag(112);
				output.WriteInt64(this.EndTime);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600CAB1 RID: 51889 RVA: 0x00222234 File Offset: 0x00220434
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.goodsList_.CalculateSize(Shop._repeated_goodsList_codec);
			if (this.BeginTime != 0L)
			{
				num += 1 + CodedOutputStream.ComputeInt64Size(this.BeginTime);
			}
			if (this.ShopId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ShopId);
			}
			if (this.EndTime != 0L)
			{
				num += 1 + CodedOutputStream.ComputeInt64Size(this.EndTime);
			}
			if (this.CityLevel != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CityLevel);
			}
			if (this.CityExp != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CityExp);
			}
			if (this.CityTakenLevelReward != 0UL)
			{
				num += 1 + CodedOutputStream.ComputeUInt64Size(this.CityTakenLevelReward);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600CAB2 RID: 51890 RVA: 0x00222300 File Offset: 0x00220500
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(Shop other)
		{
			if (other == null)
			{
				return;
			}
			this.goodsList_.Add(other.goodsList_);
			if (other.BeginTime != 0L)
			{
				this.BeginTime = other.BeginTime;
			}
			if (other.ShopId != 0U)
			{
				this.ShopId = other.ShopId;
			}
			if (other.EndTime != 0L)
			{
				this.EndTime = other.EndTime;
			}
			if (other.CityLevel != 0U)
			{
				this.CityLevel = other.CityLevel;
			}
			if (other.CityExp != 0U)
			{
				this.CityExp = other.CityExp;
			}
			if (other.CityTakenLevelReward != 0UL)
			{
				this.CityTakenLevelReward = other.CityTakenLevelReward;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600CAB3 RID: 51891 RVA: 0x002223B1 File Offset: 0x002205B1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600CAB4 RID: 51892 RVA: 0x002223BC File Offset: 0x002205BC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 40U)
				{
					if (num == 8U)
					{
						this.BeginTime = input.ReadInt64();
						continue;
					}
					if (num == 24U)
					{
						this.CityLevel = input.ReadUInt32();
						continue;
					}
					if (num == 40U)
					{
						this.CityExp = input.ReadUInt32();
						continue;
					}
				}
				else if (num <= 80U)
				{
					if (num == 56U)
					{
						this.CityTakenLevelReward = input.ReadUInt64();
						continue;
					}
					if (num == 80U)
					{
						this.ShopId = input.ReadUInt32();
						continue;
					}
				}
				else
				{
					if (num == 90U)
					{
						this.goodsList_.AddEntriesFrom(ref input, Shop._repeated_goodsList_codec);
						continue;
					}
					if (num == 112U)
					{
						this.EndTime = input.ReadInt64();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04005149 RID: 20809
		private static readonly MessageParser<Shop> _parser = new MessageParser<Shop>(() => new Shop());

		// Token: 0x0400514A RID: 20810
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400514B RID: 20811
		public const int GoodsListFieldNumber = 11;

		// Token: 0x0400514C RID: 20812
		private static readonly FieldCodec<Goods> _repeated_goodsList_codec = FieldCodec.ForMessage<Goods>(90U, Goods.Parser);

		// Token: 0x0400514D RID: 20813
		private readonly RepeatedField<Goods> goodsList_ = new RepeatedField<Goods>();

		// Token: 0x0400514E RID: 20814
		public const int BeginTimeFieldNumber = 1;

		// Token: 0x0400514F RID: 20815
		private long beginTime_;

		// Token: 0x04005150 RID: 20816
		public const int ShopIdFieldNumber = 10;

		// Token: 0x04005151 RID: 20817
		private uint shopId_;

		// Token: 0x04005152 RID: 20818
		public const int EndTimeFieldNumber = 14;

		// Token: 0x04005153 RID: 20819
		private long endTime_;

		// Token: 0x04005154 RID: 20820
		public const int CityLevelFieldNumber = 3;

		// Token: 0x04005155 RID: 20821
		private uint cityLevel_;

		// Token: 0x04005156 RID: 20822
		public const int CityExpFieldNumber = 5;

		// Token: 0x04005157 RID: 20823
		private uint cityExp_;

		// Token: 0x04005158 RID: 20824
		public const int CityTakenLevelRewardFieldNumber = 7;

		// Token: 0x04005159 RID: 20825
		private ulong cityTakenLevelReward_;
	}
}
